package cn.easy.confirm;

import org.springframework.amqp.rabbit.connection.CorrelationData;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

/**
 * @author 张澎_9970
 * @date 2021.12.15 下午 3:29 星期三
 * @desc:
 *  生产者 发消息 给交换机, 出错后, 回调函数
 */
@Component
public class MyConfirmCallback implements RabbitTemplate.ConfirmCallback {
    /**
     * 回调函数
     * @param correlationData
     * @param ack boolean 是否发送成功
     * @param cause 原因 成功,null;失败,失败信息
     */
    @Override
    public void confirm(CorrelationData correlationData, boolean ack, String cause) {
        if (ack) {
            System.out.println("下单成功!");
        } else {
            System.out.println("下单失败! " + cause);
            // 写日志, 发邮件
        }

    }
}
